#ifndef __BUTTON_HPP__
#define __BUTTON_HPP__

#include <string>

using std::string;

#include <bin.hpp>

namespace gtkhpp {

class Button : public Bin{
public:
	Button();
	Button(const string &label);
	Button(const char *label);
protected:
	Button(Object *parent):Bin(parent){}
};

inline Button::Button()
	: Bin(NULL)
{
	obj = G_OBJECT(gtk_button_new());
}

inline Button::Button(const string &label)
	: Bin(NULL)
{
	obj = G_OBJECT(gtk_button_new_with_label(label.c_str()));
}

inline Button::Button(const char *label)
	: Bin(NULL)
{
	obj = G_OBJECT(gtk_button_new_with_label(label));
}

} // namespace gtkhpp

#endif /* end of include guard */
